package com.wzy.ch01;

import java.math.BigInteger;

public class Lesson1_2 {

    /**
     * 向左移位
     * @param num 将要移位的十进制数
     * @param m 移动的位数
     * @return 移位后的十进制数
     */
    public static int leftShift(int num, int m){
        return num << m;
    }

    /**
     * 向右移位
     * @param num 将要移位的十进制数
     * @param m 移动的位数
     * @return 移位后的十进制数
     */
    public static int rightShift(int num, int m){
        return num >>> m;
    }

    public static void main(String[] args) {
        int num = 53;
        int m = 1;
        //数字 53 的二进制向左移 1 位是 106
        System.out.println(String.format("数字 %d 的二进制向左移 %d 位是 %d",num, m, leftShift(num,m)));
        //数字 53 的二进制向右移 1 位是 26
        System.out.println(String.format("数字 %d 的二进制向右移 %d 位是 %d",num, m, rightShift(num,m)));

        System.out.println();

        m = 3;

        //数字 53 的二进制向左移 3 位是 424
        System.out.println(String.format("数字 %d 的二进制向左移 %d 位是 %d",num, m, leftShift(num,m)));
        //数字 53 的二进制向右移 3 位是 6
        System.out.println(String.format("数字 %d 的二进制向右移 %d 位是 %d",num, m, rightShift(num,m)));

    }


}
